// 导入vue
import Vue from 'vue';
// 导入axios
import axios from 'axios';
import { Message } from 'element-ui';

// 每一个组件中都需要使用axios: 将axios挂在到Vue的原型对象上
// 配置一个请求拦截器
axios.interceptors.request.use(function(config){
  // 从本地存储中获取token
  const userInfo=JSON.parse(sessionStorage.getItem('userinfo')||'{}');
  config.headers.authorization=userInfo.token;
  return config;
});
// 响应拦截器
axios.interceptors.response.use(function(config){
  // 判断状态码, 如果code==403, 说明登录超时, 需要重新登录
  if(config.data.code==403){
    // 错误提示
    Message({
      type:'error',
      message:config.data.msg
    });
    // 重定向到login
    // 错误的做法: this.$router.push();
    location.href='#/login';
  }
  return config.data;
});

Vue.prototype.$http=axios;

// 生产环境调用在线数据接口, 该数据接口解决了跨域的问题
if(process.env.NODE_ENV=='production'){ 
  axios.defaults.baseURL='http://umall-admin.duans.top:10048';
}

// 导出axios
export default axios;
